//
// Created by ls on 23-12-21.
//
#include <iostream>
#include <string>


/*
 *  string& operator+=(const char *str);              // 重载 += 操作符
 *  string& operator+=(const char c);                 // 重载 += 操作符
 *  string& operator+=(const string &str);            // 重载 += 操作符
 *  string& append(const char *s);                    // 把字符 s 连接到当前字符串结尾
 *  string& append(const char *s, int n);             // 把字符串 s 的前 n 个字符连接到当前字符串结尾
 *  string& append(const string &s);                  // 同 operator+=(const string &str))
 *  string& append(const string &s, int pos, int n);  // 字符串 s 中从 pos 开始的 n 个字符连接到字符串结尾
*/

// string字符串拼接

void test01()
{
  std::string str1 = "我";
  str1 += "爱玩游戏";
  std::cout << "str1 = " << str1 << std::endl;
  str1 += ':';
  std::cout << "str1 = " << str1 << std::endl;

  const std::string str2 = "LOL DNF";
  str1 += str2;
  std::cout << "str1 = " << str1 << std::endl;

  std::string str3 = "I";
  str3.append(" love yueyue ");
  std::cout << "str3 = " << str3 << std::endl;

  str3.append("game abcde", 5);
  std::cout << "str3 = " << str3 << std::endl;

  // str3.append(str2, 0, 3);
  str3.append(str2, 4, 3);
  std::cout << "str3 = " << str3 << std::endl;
}

int main()
{
  test01();
  return 0;
}